#ifndef __KSVEDITOR_UI_KMAINWINDOW_H_
#define __KSVEDITOR_UI_KMAINWINDOW_H_
#include <QMainWindow>
#include <QGraphicsView>
#include <QLabel>

class KToolPanelWidget;
class KDrawingGraphicsView;
class KDrawSettingPanelWidget;

namespace Ui
{
	class KMainWindow;
}

class KMainWindow : public QMainWindow
{
	Q_OBJECT
public:
	explicit KMainWindow(QWidget* parent = nullptr);
	~KMainWindow();

	QGraphicsView* getConvas() const;
	KToolPanelWidget* getToolPanelWidget() const;
	KDrawingGraphicsView* getDrawingView() const;
	KDrawSettingPanelWidget* getSettingWidget() const;
	QLabel* getViewCoordinateLabel() const;
	QLabel* getSceneCoordinateLabel() const;
	QLabel* getItemCoordinateLabel() const;
	QAction* getActionNewSvg() const;
	QAction* getActionOpenSvg() const;
	QAction* getActionSaveSvg() const;
	QAction* getActionExportSvg() const;
	QAction* getActionExportPng() const;
	QTabWidget* getTabWidget() const;

signals:
	void requestSave();
	void requestSaveAs();
	void requestOpen();
	void requestExportPng();

protected:
	void closeEvent(QCloseEvent* event) override;
	void keyPressEvent(QKeyEvent* event) override;
private:
	void loadingMainwindow();

private:
	Ui::KMainWindow* ui;

};
#endif //__KSVEDITOR_UI_KMAINWINDOW_H_